// 1808. [字符串排序去重]整理工号
// https://oj.rnd.huawei.com/problems/1808/details
//现有一批杂乱的字符串，请逐个判断每个字符串是否是合法的工号，把非法的直接丢弃，并将合法的整理成规定的格式。
//合法工号：去除所有空格后，长度不超过9；首位为字母、其它均为数字（至少有一个数字）。
//格式化要求（格式化后如：a00012345）：工号首字母统一规整成小写字符。去除所有空格。
//如果工号不满9位，在数字前面补零，使工号长度恰好为9。
//请对格式化后的合法工号，去重后，按照字典序升序输出。
//输入 一个整数 N ，表示待整理工号的个数，取值范围：[1, 100)
//接下来 N 行，每行字符串是一个待整理的工号（长度不超过20）
//输出 按照升序排序的规整后的合法工号。
//输入 8
// ss789
// 12n00
// s00123
// k2 3490
// S123
// s234
// x235
// m990
//输出
// k00023490
// m00000990
// s00000123
// s00000234
// x00000235
//提示
// ss789，12n00 输入非法，丢弃。
// s00123 和S123，格式化后相同，去重。
//字典序：指按照单词出现在字典的顺序进行排序的方法。先按照第一个字母以
// a、b、c……z 的顺序排列，
//如果第一个字母一样，那么比较第二个、第三个乃至后面的字母。如果比到最后两个单词不一样长，
//如 sigh 和 sight，那么把短者排在前
#include <bits/stdc++.h>
using namespace std;
string checkNumber(const string& str_) {
  string strN;
  int nStart = 0;
  for (auto ch : str_) {
    if (ch == ' ') {
      continue;
    }
    // 首位不是alpha
    if (nStart == 0 && !isalpha(ch)) {
      strN.clear();
      break;
    } else if (nStart > 0 && !isdigit(ch)) {
      strN.clear();
      break;
    }
    if (nStart == 0) {
      ch = tolower(ch);
    }
    strN += ch;
    nStart++;
  }
  if (strN.length() < 2 || strN.length() > 9) {
    return string();
  }
  strN.insert(1, 9 - strN.length(), '0');
  return strN;
}
vector<string> RegularID(vector<string>& inputs) {
  set<string> stJobNumber;
  for (auto str : inputs) {
    string tmp = checkNumber(str);
    if (!tmp.empty()) {
      stJobNumber.insert(tmp);
    }
  }
  vector<string> res;
  for (auto tmp : stJobNumber) {
    res.push_back(tmp);
  }
  return res;
}
// 以下为考题输入输出框架，此部分代码不建议改动
inline std::string ReadLine() {
  std::string line;
  std::getline(std::cin, line);
  return line;
}
inline std::vector<std::string> ReadLines(int size) {
  std::vector<std::string> lines(size);
  for (int i = 0; i < size; ++i) {
    lines[i] = ReadLine();
  }
  return lines;
}
inline std::vector<std::string> ReadCountedLines() {
  std::string numberLine = ReadLine();
  int count = std::stoi(numberLine);
  return ReadLines(count);
}
int main() {
  vector<string> inputs = ReadCountedLines();
  vector<string> results = RegularID(inputs);
  for (auto res : results) {
    cout << res << endl;
  }
  return 0;
}